Blueprint: a High-level Pattern Based Aop Language Blueprint: a High-level Pattern Based Aop Language Title: Blueprint: a High-level Pattern Based Aop Language Acknowledgements

نویسندگان

  • Sonia Pini
  • Walter Cazzola
  • Gunter Saake
چکیده

Nowadays, aspect-oriented techniques are widely used to better modularize object-oriented programs by introducing crosscutting concerns in a safe and non invasive way, i.e., aspect-oriented mechanisms better address the modularization of functionality that orthogonally crosscut the implementation of the application. The high modularization is done by three main concepts: encapsulation of crosscutting concerns in a modular unit (the aspect), selection of the exact point where the concern should be inserted (join point selection or pointcut) and insertion of the concern into the selected join points (the weaving mechanism). Unfortunately, as noted by several researchers, most of the current aspect-oriented approaches are too coupled with the application code, and this fact hinders the concerns separability and consequently their re-usability since each aspect is strictly tailored on the base application. Moreover, the join points, i.e. the locations affected by a crosscutting concerns, actually are defined at operation level. It implies that the possible set of join points includes every operation (e.g., method invocations) that the system performs. Whereas, in many contexts we wish to define aspects that are expected to work at the statement level, i.e., by considering as a join point every point between two generic statements (i.e., lines of code). This proposal should overcome the above described limitations of current aspect-oriented approaches, by introducing a new model for the join points, and a new mechanism to select these join points, as more as possible decoupled from the application code. Our proposal, called Blueprint, consists of a new aspect-oriented programming language based on modeling the join point selection mechanism at a high level of abstraction to decouple aspects from the base program. To this regard, we propose a high level pattern based join point model, where join points are described by means of join point blueprints, i.e. computational and behavioral patterns describing where the join point should be found. In other words, we use a sort of UML diagrams to describe the control flows of the computational patterns and where are the join points inside these blueprints to detect potential woven points. This thesis is dedicated to my parents and my husband, without whom none of this would have been even possible.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

AOP vs Software Evolution: a Score in Favor of the Blueprint

All software systems are subject to evolution, independently by the developing technique. Aspect oriented software in addition to separate the different concerns during the software development, must be “not fragile” against software evolution. Otherwise, the benefit of disentangling the code will be burred by the extra complication in maintaining the code. To obtain this goal, the aspect-orien...

متن کامل

On the Footprints of Join Points: The Blueprint Approach

Aspect-oriented techniques are widely used to better modularize object-oriented programs by introducing crosscutting concerns in a safe and non-invasive way, i.e., aspectoriented mechanisms better address the modularization of functionality that orthogonally crosscuts the implementation of the application. Unfortunately, as noted by several researchers, most of the current aspect-oriented appro...

متن کامل

AspectC++ – An AOP Extension for C++

More and more software developers get in touch with aspect-oriented programming (AOP). By providing means to modularize the implementation of crosscutting concerns, it stands for more reusability, less coupling between modules, and better separation of concerns in general. Today, solid tool support for AOP is available, for instance, by JBoss (JBoss AOP), BEA (AspectWerkz), and IBM (AspectJ and...

متن کامل

An agent-oriented programming approach for C++-based simulation models

Agent-based simulation (ABS) has shown great success for the study of complex adaptive systems which are hard or even impossible to analyse using conventional analytical techniques. For reasons of performance and flexibility, non-trivial ABS models are often implemented in general purpose programming languages like Java or C++. As a consequence of the generality of those languages, simulation-b...

متن کامل

An Aspect-Oriented Design Framework

With Aspect-Oriented Programming (AOP), we see a problem as a collection of different issues, and try to find all issues relevant to the problem. We can therefore manage to achieve an improved separation of concerns in both design, and implementation. The goal of AOP is to decompose a problem into a number of functional components as well as a number of aspects and then composing these componen...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007